AIR for AndroidとNativeアプリケーションを組み合わせる
AIR for Androidでいろいろ試しています。
FlexやAIRの開発と同じように、Androidアプリケーションの開発ができるので
経験がない人にも、簡単に始められそうです。
特に、画面を簡単に作れるのが便利だと思うのですが、
現時点では、Nativeアプリケーションと比べると、実現できない事がいくつかあるようです。
(AIR 3では、出来ることが増えるようですね。)
そこで、AIR for Androidで提供されていないOSのAPIを呼びたい時に、
どのような実現方法があるのか調べていました。
AIRアプリケーションとNativeアプリケーションを2つ用意して、
Intent呼び出しをするのはどうかと考えましたが、2つ解決をしなければいけないことがありました。
- AIRアプリケーション→Nativeアプリケーションの呼び出し方が分からない。。
- 2つのアプリケーションをインストールしなければいけない?
Nativeアプリケーション→AIRアプリケーションの呼び出しはできそうですが、
(※IntentFilterの設定ができるようだったので。それ以上は調べていません)
反対の、AIRアプリケーション→Nativeアプリケーションはどうすれば良いのか分かりませんでした。
Intent呼び出しは、AIRのAPIでは提供されていないようです。
2つのアプリケーションができるので、2つアプリケーションをインストールする必要がありそうです。
これは面倒臭いですよね。
これらの問題を解決できそうな記事を見つけました。
http://www.jamesward.com/2011/05/11/extending-air-for-android/
Socket通信で、AIRアプリケーションから、Nativeアプリケーションのサービスを呼び出しているようです。
ご本人も書かれているように、Adobeがサポートしている訳ではなく、
裏ワザっぽいですが、アプリケーションが2つになることもありません。
実際の開発では、AIRとNativeのアプリケーションを組み合わせる選択をすることは少ないかもしれませんが、
役に立つ場面があるかもしれませんね。